<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        
        
        <link rel="shortcut icon" href="../img/favicon.ico">

	<title>命令行工具 - JavaBaas</title>

        <link href="../css/bootstrap-custom.min.css" rel="stylesheet">
        <link href="../css/font-awesome-4.0.3.css" rel="stylesheet">
        <link href="../css/base.css" rel="stylesheet">
        <link rel="stylesheet" href="../css/highlight.css">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
    </head>

    <body>

        <div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">

        <!-- Collapsed navigation -->
        <div class="navbar-header">
            
            <!-- Expander button -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            

            <!-- Main title -->
            <a class="navbar-brand" href="..">JavaBaas</a>
        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            
                <!-- Main navigation -->
                <ul class="nav navbar-nav">
                
                
                    <li >
                        <a href="..">主页</a>
                    </li>
                
                
                
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">功能概述 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                        
                            
<li >
    <a href="../overview/Object/">数据存储</a>
</li>

                        
                        </ul>
                    </li>
                
                
                
                    <li class="dropdown active">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">用户手册 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                        
                            
<li class="active">
    <a href="./">命令行工具</a>
</li>

                        
                            
<li >
    <a href="../restapi/">REST API</a>
</li>

                        
                        </ul>
                    </li>
                
                
                
                    <li >
                        <a href="../download/">下载</a>
                    </li>
                
                
                </ul>
            

            <ul class="nav navbar-nav navbar-right">
                <li>
                    <a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
                        <i class="fa fa-search"></i> Search
                    </a>
                </li>
                
                    <li >
                        <a rel="next" href="../overview/Object/">
                            <i class="fa fa-arrow-left"></i> Previous
                        </a>
                    </li>
                    <li >
                        <a rel="prev" href="../restapi/">
                            Next <i class="fa fa-arrow-right"></i>
                        </a>
                    </li>
                
                
            </ul>
        </div>
    </div>
</div>

        <div class="container">
            
                <div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
    <ul class="nav bs-sidenav">
    
        <li class="main active"><a href="#_1">命令行工具</a></li>
        
            <li><a href="#_2">运行</a></li>
        
            <li><a href="#_4">命令</a></li>
        
    
    </ul>
</div></div>
                <div class="col-md-9" role="main">

<h1 id="_1">命令行工具</h1>
<p>命令行工具<code>BaasShell</code>是JavaBaas的配置工具，使用<code>BaasShell</code>可以完成类的创建及删除、字段的创建删除、对象的增删改查等操作，以及系统初始化等工作。</p>
<p><code>BaasShell</code>基于java编写，编译及运行需要安装JDK环境。</p>
<h2 id="_2">运行</h2>
<p>使用以下命令启动命令行工具</p>
<pre><code>java -jar BaasShell.jar
</code></pre>

<p>启动成功后显示以下信息</p>
<pre><code>         _-----_
        |       |    .--------------------------.
        |--(o)--|    | Let's play with JavaBaas |
       `---------´   |       application!       |
        ( _´U`_ )    '--------------------------'
        /___A___\
         |  ~  |
       __'.___.'__
     ´   `  |° ´ Y `
Version:1.0.0
Host:http://127.0.0.1:8080/
AdminKey:123456
BAAS&gt;
</code></pre>

<h3 id="_3">启动参数</h3>
<p><code>BaasShell</code>有两个启动参数，分别为<code>服务器地址</code>和<code>adminKey</code>，启动时附加在启动命令之后。如：</p>
<pre><code class="bash">java -jar 182.92.237.224:8080 Vm0weGQxSXhWWGhWV0d4VlYwZDRWMWxyWkZOalZsWnpXa2M1YVUxWVFsaFdNbmhy
</code></pre>

<p><code>服务器地址</code>默认值为127.0.0.1:8080
<code>adminKey</code>默认值为123456</p>
<h2 id="_4">命令</h2>
<h3 id="_5">内建命令</h3>
<h4 id="help">帮助信息 help</h4>
<p>查看帮助信息。</p>
<h4 id="version">版本号 version</h4>
<p>查看<code>BaasShell</code>版本号。</p>
<h4 id="cls">清屏 cls</h4>
<p>清空当前终端信息。</p>
<h4 id="exit">退出 exit</h4>
<p>退出<code>BaasShell</code>命令行。</p>
<h3 id="_6">应用相关命令</h3>
<h4 id="app-add-appname">创建应用 app add {appName}</h4>
<p>创建应用。</p>
<pre><code class="bash">BAAS&gt;app add Comic
App added.
</code></pre>

<h4 id="apps">显示应用列表 apps</h4>
<p>查询系统中所有的应用。如：</p>
<pre><code class="bash">BAAS&gt;apps
Comic
</code></pre>

<h4 id="app-del-appname">删除应用 app del {appName}</h4>
<p>删除类<code>appName</code>参数为应用名。如：</p>
<pre><code class="bash">BAAS&gt;app del Comic
App deleted.
</code></pre>

<p><span id="setAppNow"></span></p>
<h4 id="use-appname">设置当前应用 use {appName}</h4>
<p>设置当前正在操作的应用 <code>appName</code>参数为应用名。设置成功后光标将变为 当前应用名。</p>
<pre><code class="bash">BAAS&gt;use Comic
Set current app to Comic
Comic&gt;
</code></pre>

<p>设置当前应用为Comic。</p>
<h3 id="_7">类相关命令</h3>
<p>由于所有类操作都是针对某一个应用进行的，因此类操作需先<a href="./#setAppNow">设置当前应用</a>。</p>
<h4 id="class-add-classname">添加类 class add {className}</h4>
<p>为当前应用添加类<code>className</code>参数为类名。
此方法必须在已经设置了当前应用时调用。
如：</p>
<pre><code class="bash">Comic&gt;class add Book
Class added.
</code></pre>

<p>添加名称为Book的类</p>
<h4 id="classes">显示类列表 classes</h4>
<p>查询当前应用中的所有类。此方法必须在已经设置了当前应用时调用。如：</p>
<pre><code class="bash">Comic&gt;classes
_User
_Installation
_File
Book
Page
Category
</code></pre>

<p>表示当前应用中有六个表，分别为内建类<code>_User</code> <code>_Installation</code> <code>_File</code>以及用户自建的<code>Book</code> <code>Page</code> <code>Category</code>。</p>
<h4 id="class-del-classname">删除类 class del {className}</h4>
<p>在当前应用中，删除类<code>className</code>参数为类名。此方法必须在已经设置了当前应用时调用。如：</p>
<pre><code class="bash">BAAS&gt;class del Book
Class deleted.
</code></pre>

<p>删除名称为Book的类</p>
<p><span id="setClassNow"></span></p>
<h4 id="set-classname">设置当前类 set {className}</h4>
<p>设置当前正在操作的类<code>className</code>参数为类名。设置成功后光标将变为 当前应用名_当前类名。</p>
<pre><code class="bash">BAAS&gt;set Book
Set current class to Book
Comic Book&gt;
</code></pre>

<p>设置当前类为Book。</p>
<h3 id="_8">字段相关命令</h3>
<p>由于所有字段操作都是针对某一个类进行的，因此字段操作需先<a href="./#setClassNow">设置当前类</a>。</p>
<h4 id="fields">显示字段列表 fields</h4>
<p>显示当前类的所有字段。如：</p>
<pre><code class="bash">BAAS&gt;set Book
Set current class to Book
Comic Book&gt;field
&lt;STRING&gt;  name
&lt;NUMBER&gt;  price
</code></pre>

<p>表示当前类<code>Book</code>中有两个字段、分别为字符型字段<code>name</code>以及数值型字段<code>price</code>。</p>
<h4 id="field-add-fieldname-type-typeid">添加字段 field add {fieldName} [--type {typeId}]</h4>
<p>在当前类中添加一个字段。其中<code>fieldName</code>为字段名，<code>typeId</code>为可选参数，参数值为字段的<a href="../overview/object#fieldType">数据类型</a>。如：</p>
<pre><code class="bash">BAAS&gt;set Book
Set current class to Book
Comic Book&gt;field add name
Field added.
Comic Book&gt;field add price --type 2
Field added.
</code></pre>

<p>在<code>Book</code>类中添加字符型字段<code>name</code>以及数值型字段<code>price</code>。</p>
<h4 id="field-del-fieldname">删除字段 field del {fieldName}</h4>
<p>在当前类中删除一个字段。其中<code>fieldName</code>为字段名。如：</p>
<pre><code class="bash">Comic Book&gt;field del name
Field deleted.
</code></pre>

<p>在<code>Book</code>类中删除字段<code>name</code>。</p>
<h4 id="field-type">查看所有字段数据类型 field type</h4>
<p>显示当前支持的字段类型及对应的值。参见<a href="../overview/object#fieldType">数据类型</a>。</p>
<h3 id="_9">对象相关命令</h3>
<p>在对对象进行操作前，需要先<a href="./#setClassNow">设置当前类</a>。</p>
<h4 id="list-where">查询所有对象 list [{where}]</h4>
<p>查询当前类的所有对象。参数<code>where</code>是查询条件，条件为空时显示所有对象。</p>
<pre><code class="bash">Comic Book&gt;list {price:20}
{&quot;createdAt&quot;:1441880564365,&quot;price&quot;:20,&quot;name&quot;:&quot;b&quot;,&quot;id&quot;:&quot;55f159f477c877a455248a23&quot;,&quot;acl&quot;:{&quot;*&quot;:{&quot;read&quot;:true,&quot;write&quot;:true}},&quot;updatedAt&quot;:1441880564365}
{&quot;createdAt&quot;:1441880561707,&quot;price&quot;:20,&quot;name&quot;:&quot;a&quot;,&quot;id&quot;:&quot;55f159f177c877a455248a22&quot;,&quot;acl&quot;:{&quot;*&quot;:{&quot;read&quot;:true,&quot;write&quot;:true}},&quot;updatedAt&quot;:1441880561707}
</code></pre>

<p>查询<code>Book</code>类中所有<code>price</code>等于20的对象。</p>
<h4 id="add-body">插入对象 add {body}</h4>
<p>向当前类插入对象。如：</p>
<pre><code class="bash">Comic Book&gt;add {name:&quot;Three body&quot;,price:100}
Object added.
</code></pre>

<p>在<code>Book</code>类中添加一个对象。</p>
<h4 id="del-id">删除对象 del {id}</h4>
<p>删除当前类中指定<code>id</code>的对象。如：</p>
<pre><code class="bash">Comic Book&gt;del 55f159f777c877a455248a24
Object deleted.
</code></pre>

<p>删除<code>Book</code>类中<code>id</code>为55f159f777c877a455248a24的对象。</p>
<h4 id="count-where">查询对象个数 count [{where}]</h4>
<p>查询当前类中对象的个数。参数<code>where</code>是查询条件，条件为空时则显示当前类中所有对象的个数。如：</p>
<pre><code class="bash">Comic Book&gt;count {price:20}
2
</code></pre>

<p>查询<code>Book</code>类中所有<code>price</code>等于20的对象个数。</p></div>
            
        </div>

        <footer class="col-md-12">
            <hr>
            
            <p>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</p>
        </footer>

        <script src="../js/jquery-1.10.2.min.js"></script>
        <script src="../js/bootstrap-3.0.3.min.js"></script>
        <script src="../js/highlight.pack.js"></script>
        <script>var base_url = '..';</script>
        <script data-main="../mkdocs/js/search.js" src="../mkdocs/js/require.js"></script>
        <script src="../js/base.js"></script>

        <div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                        <h4 class="modal-title" id="exampleModalLabel">Search</h4>
                    </div>
                    <div class="modal-body">
                        <p>
                            From here you can search these documents. Enter
                            your search terms below.
                        </p>
                        <form role="form">
                            <div class="form-group">
                                <input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
                            </div>
                        </form>
                        <div id="mkdocs-search-results"></div>
                    </div>
                    <div class="modal-footer">
                    </div>
                </div>
            </div>
        </div>

    </body>
</html>
